#ifndef __ERR_CODE_H__
#define __ERR_CODE_H__

#include "typedef.h"

//常规停止
#define ERR_CODE_SUCC "0000"  //无故障
#define ERR_CODE_STOP_NOMAL "1000" //充满停止
#define ERR_CODE_STOP_APP   "1001" //APP或微信停止
#define ERR_CODE_STOP_SCREEN "1003" //触控屏手动停止
#define ERR_CODE_STOP_SERVER "1004" //后台停止
#define ERR_CODE_STOP_RFCARD "1008" //刷卡停止
#define ERR_CODE_STOP_LOW_CURRT "1009" //无有效电流停止
#define ERR_CODE_STOP_BMS_ABNOMAL "100A" //BMS异常终止
#define ERR_CODE_STOP_BMS_NOMAL "100B" //BMS达到终止条件停止
#define ERR_CODE_STOP_DEV_NOMAL "100C" //充电桩达到终止条件停止
#define ERR_CODE_STOP_GUN_UNLINK "100D" //枪未正确连接

//平台异常

//设备异常
#define ERR_CODE_DEV_CHECK "3000" //自检超时
#define ERR_CODE_DEV_UNLINK "3001" //桩离线
#define ERR_CODE_DEV_DOOR_OPEN   "3002" //柜门打开
#define ERR_CODE_DEV_EBTN "3003" //急停按下
#define ERR_CODE_DEV_SYS_FAN "3004" //系统风扇故障
#define ERR_CODE_DEV_MOD_FAN "3005" //模块风扇故障
#define ERR_CODE_DEV_GUN_BASE "3006" //充电枪未归位告警
#define ERR_CODE_DEV_RFCARD "3007" //读卡器异常
#define ERR_CODE_DEV_MOD_COMM "3008" //模块通信故障
#define ERR_CODE_DEV_POWER_ADDR "3009" //电源模块地址冲突
#define ERR_CODE_DEV_MOD "300A" //电源模块故障
#define ERR_CODE_DEV_MOD_TEMP "300B" //电源模块过温告警
#define ERR_CODE_DEV_MOD_FULL "300C" //无空闲模块可用（限 智能分配功率）
#define ERR_CODE_DEV_EMETER_COMM "300D" //电表通讯故障
#define ERR_CODE_DEV_EMETER_DATA "300E" //电表数据异常
#define ERR_CODE_DEV_OUT_RELAY_STUCK "300F" //输出接触器粘连
#define ERR_CODE_DEV_OUT_RELAY_FAULT "3010" //直流接触器故障
#define ERR_CODE_DEV_INSIDE_COMM "301A" //充电桩内部充电故障


char_t *errcode_get_start_ack_fail_code(int32_t code);
char_t *errcode_get_start_ack_fail_desc(int32_t code);

char_t *errcode_get_start_finish_fail_code(int32_t code);
char_t *errcode_get_start_finish_fail_desc(int32_t code);

char_t *errcode_get_stop_resion_code(int32_t code);
char_t *errcode_get_stop_resion_desc(int32_t code);

#endif

